Modules and Schemes

Maintainable objects are of two basic types, Modules and Schemes.

Modules roughly relate to stages in the life cycle or publishing packages. Publishing packages pull together related material regarding a study, a series or group of studies, reusable resources, or deposited objects. Modules like DataCollection, LogicalProduct, PhysicalDataProduct, and ConceptualComponents bring together sets of information related to specific activities, the results of a study, or conceptual background. They may include other modules, schemes, or non-scheme based objects.

Schemes are designed to bring together sets of similar objects (i.e. Variables, Concepts, RecordLayouts, etc.) which are managed as a unit for either conceptual or administrative purposes. Schemes have a common structure providing descriptive information about the scheme, a set of similar objects, and the ability to group those objects for administrative purposes.

Figure 2. The relationship between identifiable, versionable and maintainable type objects

figure2

N.B.Those names starting with @ are XML attributes, all others are XML elements.

The following objects which consist of the extension bases used for identification and referencing purposes are considered to be Administrative metadata for the purposes of versioning:

Reference and Scheme Reference Type

Reference Type

Reference Type  
URN The URN of the object being referenced using the specified URN structure
@typeOfIdentifier URN used by Agency [Canonical | Deprecated]
Agency Base sequence of identification. If sequence is used, all are required.
ID The ID of the object being referenced.
Version The Version of the object being referenced. This is the full Version number at the time the reference is created.
TypeOfObject Type of object being referenced. This is a controlled list.
MaintainableObject The Maintainable object containing of the Identifiable or Versionable object being referenced.
TypeOfObject TypeOfObject is required to create Deprecated URN
MaintainableID

Required for any URN if

ScopeOfUniqueness=”Maintainable”.

MaintainableVersion Provides context base
@isExternal Boolean attribute. If “true” you must supply the URN
@externalReferenceDefaultURI A local store for the referenced object expressed as a URI
@isReference Fixed value = “true” [specifies object base]
@lateBound Boolean attribute. Set to “true” if you wish to late-bind the reference (i.e., want to reference the most recent version)
@lateBoundRestriction If @lateBound=”true” and this attribute is not provided you will get the most recent version. Use this attribute to restrict the value of the late-bind, for example to restrict to the most recent minor version of major version
@objectLanguage Specify the desired language content (if available) for the referenced item using a valid xml:lang value.
@sourceContext The URN of the parent maintainable at the time of reference (this is not necessarily the same version number as the version of the parent maintainable at point of origin)

Scheme Reference Type

Scheme Reference Type  
URN The URN of the object being referenced using the specified URN structure
@typeOfIdentifier URN used by Agency [Canonical | Deprecated]
Agency Base sequence of identification. If sequence is used, all are required.
ID The ID of the object being referenced.
Version The Version of the object being referenced. This is the full Version number at the time the reference is created.
TypeOfObject Type of object being referenced. This is a controlled list.
MaintainableObject The Maintainable object containing of the Identifiable or Versionable object being referenced.
TypeOfObject TypeOfObject is required to create a Deprecated URN
MaintainableID

Required for any URN if

ScopeOfUniqueness=”Maintainable”.

MaintainableVersion Provides context base
Exclude

Allows the identification of objects within the

Scheme which are to be excluded for the

purpose of this reference.

ID The ID of the excluded object.
Version The Version of the excluded object.
@isExternal Boolean attribute. If “true” you must supply the URN
@externalReferenceDefaultURI A local store for the referenced object expressed as a URI
@isReference Fixed value = “true” [specifies object base]
@lateBound Boolean attribute. Set to “true” if you wish to late-bind the reference (i.e., want to reference the most recent version)
@lateBoundRestriction If @lateBound=”true” and this attribute is not provided you will get the most recent version. Use this attribute to restrict the value of the late-bind, for example to restrict to the most recent minor version of major version
@objectLanguage Specify the desired language content (if available) for the referenced item using a valid xml:lang value.
@sourceContext The URN of the parent maintainable at the time of reference (this is not necessarily the same version number as the version of the parent maintainable at point of origin)

Figure 3. The relationship between ReferenceType and SchemeReferenceType

figure3